package com.kingyun.gpsinspection.purificationservice.dao.mapper.iam.scyx;


import com.kingyun.gpsinspection.purificationservice.facade.model.iam.scyx.ProcessOperation;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.Entity;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EntityPro;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EntityTypePro;

import java.util.List;
import java.util.Map;

/**
 * @version V1.0
 * @Package com.cqhilink.iot.integratedapplicationmanagement.dao.mapper.scyx
 * @Description: ${TODO}(工艺运行)
 * @author: lutianbo
 * @date: 2017/2/6,0006
 */

public interface ProcessOperationMapper {
    // 根据id查询特性
    List<EntityTypePro> selectByEnTypeId(String enTypeId);
    // 根据id查询实体
    List<Entity> selectEntityByEnTypeId(ProcessOperation enTypeId);
    // 根据实体id,实体类型特征id 查找特征值
    String selectValueByIds(Map<String, Object> map);
    int selectCount(ProcessOperation processOperation);

    /***
     *
     * @param subTypeId 子类型id
     * @return 根据用户配置的生产实体类型特性，查询相关的特性
     */
    List<EntityTypePro> selectByPropertyId(String subTypeId);




    //  重新提取接口
    /**
     * 根据台账设备列表id查询生产实体类型特性信息
     * @param processOperation
     * @return
     */
    List<EntityTypePro> selectProTitleByDveListTempId(ProcessOperation processOperation);

    /**
     * 根据生产实体类型id 查询档期实体类型下面的实体信息
     * @param processOperation
     * @return
     */
    List<Entity> selectEntityByEntityTypeId(ProcessOperation processOperation);

    /**
     * 根据生产实体类型id 查询档期实体类型下面的实体总数量
     * @param processOperation
     * @return
     */
    int selectEntityByEntityTypeIdCount(ProcessOperation processOperation);

    /**
     * 根据生产实体类型id  查询生产实体特性信息
     * @param processOperation
     * @return
     */
    List<EntityPro> selectEntityProByEid(ProcessOperation processOperation);


    /***
     * 根据生产实体类型id，查询生产实体信息，不分页查总数
     * @param processOperation
     * @return
     */
    List<Entity> selectEntityAllByEntityTypeId(ProcessOperation processOperation);
}
